<?php

/* Portal Pracy - praca magisterska
 * autor: Tomek Ceszke
 * email: tomek.ceszke@gmail.com
 * Politechnika Koszalińska 2007
 */

class Ad extends AppModel
{
	var $name = 'Ad';

	var $belongsTo = array
	(
		'Category' => array
		(
			'className'    => 'Category',
            'dependent'    =>  false,
            'foreignKey'   => 'category_id'
		),
		'Region' => array
		(
			'className'	=> 'Region',
            'dependent'    =>  false,
            'foreignKey'   => 'region_id'
		),
		'Company' => array
		(
			'className'    => 'Company',            
            'dependent'    =>  false,
			'foreignKey'   => 'company_id'
		)
	);
	
	var $hasAndBelongsToMany = array
	(
		'Tag' => array
		(
			'className' => 'Tag',
			'joinTable' => 'ads_tags',
			'foreignKey' => 'ad_id',
    		'associationForeignKey'=>'tag_id'	
		)
	);
        
    function loadValidation()
    {
		$this->validate = array
		(
			'category_id' => array
      		(
				'required' => array
				(
					'method' => VALID_NUMBER,
          			'message' => 'Musisz wybrać kategorię.',
         		)
         	),
			'position' => array
      		(
				'required' => array
				(
					'method' => VALID_NOT_EMPTY,
          			'message' => 'Musisz podać stanowisko.',
         		),
         		'length_within' => 
				array
				(
					'method' => VALID_LENGTH_WITHIN,
          			'message' => 'To pole powinno zawierać od 3 do 150 znaków.',
          			'parameters' => array('min' => 3, 'max' => 150)
          		),
         	),
			'ref_no' => array
      		(
         		'length_within' => array
				(
					'method' => VALID_LENGTH_WITHIN,
          			'message' => 'To pole nie może zawierać więcej niż 30 znaków.',
          			'parameters' => array('max' => 30)
          		),
         	),
         	'city' => array
      		(
         		'length_within' => array
				(
					'method' => VALID_LENGTH_WITHIN,
          			'message' => 'To pole nie może zawierać więcej niż 100 znaków.',
          			'parameters' => array('max' => 100)
          		),
          	),
          	'tag1' => array
          	(
          		'length_within' => array
          		(
          			'method' => VALID_LENGTH_WITHIN,
          			'message' => 'Pierwsze słowo nie może zawierać więcej niż  70 znaków.',
          			'parameters' => array('max' => 70)
          		),
          	),
          	'tag2' => array
          	(
          		'length_within' => array
          		(
          			'method' => VALID_LENGTH_WITHIN,
          			'message' => 'Drugie słowo nie może zawierać więcej niż 70 znaków.',
          			'parameters' => array('max' => 70)
          		),
          	),
          	'tag3' => array
          	(
          		'length_within' => array
          		(
          			'method' => VALID_LENGTH_WITHIN,
          			'message' => 'Trzecie słowo nie może zawierać więcej niż 70 znaków.',
          			'parameters' => array('max' => 70)
          		),
          	),
          	'public_date' => array
          	(
          		'date' => array
          		(
          			'method' => '%^(?:(?:(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\\/|-|\\.|\\x20)(?:0?2\\1(?:29)))|(?:(?:(?:1[6-9]|[2-9]\\d)?\\d{2})(\\/|-|\\.|\\x20)(?:(?:(?:0?[13578]|1[02])\\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\\2(?:0?[1-9]|1\\d|2[0-8]))))$%',
		          	'message' => 'Musisz podać datę w formacie yyyy-mm-dd.',
        	  	),          	
          		'required' => array
          		(
          			'method' => VALID_NOT_EMPTY,
          			'message' => 'Musisz podać datę.',
         		),
         	),
         	'valid_date' => array
          	(
          		'date' => array
          		(
          			'method' => '%^7|14|21$%',
          		),          	
          		'required' => array
          		(
          			'method' => VALID_NOT_EMPTY,
         		),
         	)
		);
    }
        
}
?>